import numpy as np
import cv2 as cv
import tensorflow as tf


class MPPalmDet:
    def __init__(self, model_path, nms_threshold=0.3, score_threshold=0.5, top_k=5000):
        self.model_path = model_path
        self.nms_threshold = nms_threshold
        self.score_threshold = score_threshold
        self.top_k = top_k

        self.input_size = np.array([192, 192])  # wh

        # Load TFLite model
        self.interpreter = tf.lite.Interpreter(model_path=self.model_path)
        self.interpreter.allocate_tensors()

        # Get input and output details
        self.input_details = self.interpreter.get_input_details()
        self.output_details = self.interpreter.get_output_details()

        self.anchors = self._load_anchors()

    @property
    def name(self):
        return self.__class__.__name__

    def _preprocess(self, image):
        pad_bias = np.array([0., 0.])  # left, top
        ratio = min(self.input_size / image.shape[:2])
        if image.shape[0] != self.input_size[0] or image.shape[1] != self.input_size[1]:
            # keep aspect ratio when resize
            ratio_size = (np.array(image.shape[:2]) * ratio).astype(np.int32)
            image = cv.resize(image, (ratio_size[1], ratio_size[0]))
            pad_h = self.input_size[0] - ratio_size[0]
            pad_w = self.input_size[1] - ratio_size[1]
            pad_bias[0] = left = pad_w // 2
            pad_bias[1] = top = pad_h // 2
            right = pad_w - left
            bottom = pad_h - top
            image = cv.copyMakeBorder(image, top, bottom, left, right, cv.BORDER_CONSTANT, None, (0, 0, 0))
        image = cv.cvtColor(image, cv.COLOR_BGR2RGB)
        image = image.astype(np.float32) / 255.0  # norm
        pad_bias = (pad_bias / ratio).astype(np.int32)
        return image[np.newaxis, :, :, :], pad_bias  # hwc -> nhwc

    def infer(self, image):
        h, w, _ = image.shape

        # Preprocess
        input_blob, pad_bias = self._preprocess(image)

        # Set input tensor
        self.interpreter.set_tensor(self.input_details[0]['index'], input_blob)

        # Run inference
        self.interpreter.invoke()

        # Get output tensors
        box_delta = self.interpreter.get_tensor(self.output_details[0]['index'])  # Box and landmarks
        score = self.interpreter.get_tensor(self.output_details[1]['index'])  # Classification score

        # Postprocess
        results, rois = self._postprocess([box_delta, score], np.array([w, h]), pad_bias)

        return results, rois

    def _postprocess(self, output_blob, original_shape, pad_bias):
        box_delta = output_blob[0][0]  # [1, num_boxes, 18]
        score = output_blob[1][0, :, 0]  # [1, num_boxes, 1]
        landmark_delta = box_delta[:, 4:]  # Extract landmark deltas
        box_delta = box_delta[:, :4]  # Extract box deltas
        scale = max(original_shape)

        # Get scores
        score = score.astype(np.float64)
        score = 1 / (1 + np.exp(-score))

        # Get boxes
        cxy_delta = box_delta[:, :2] / self.input_size
        wh_delta = box_delta[:, 2:] / self.input_size
        xy1 = (cxy_delta - wh_delta / 2 + self.anchors) * scale
        xy2 = (cxy_delta + wh_delta / 2 + self.anchors) * scale
        boxes = np.concatenate([xy1, xy2], axis=1)
        boxes -= [pad_bias[0], pad_bias[1], pad_bias[0], pad_bias[1]]

        # NMS
        keep_idx = cv.dnn.NMSBoxes(boxes.tolist(), score.tolist(), self.score_threshold, self.nms_threshold,
                                   top_k=self.top_k)

        if len(keep_idx) == 0:
            return np.empty(shape=(0, 19)), np.empty(shape=(0, 4))

        keep_idx = np.array(keep_idx).flatten()
        # === 新增：限制最多两个最优结果 ===
        candidate_scores = score[keep_idx]
        sorted_indices = np.argsort(candidate_scores)[::-1]
        if len(sorted_indices) > 2:
            keep_idx = keep_idx[sorted_indices[:2]]
        # === 新增结束 ===


        selected_score = score[keep_idx]
        selected_box = boxes[keep_idx]

        # Get landmarks
        selected_landmarks = landmark_delta[keep_idx].reshape(-1, 7, 2)
        selected_landmarks = selected_landmarks / self.input_size
        selected_anchors = self.anchors[keep_idx]
        for idx, landmark in enumerate(selected_landmarks):
            landmark += selected_anchors[idx]
        selected_landmarks *= scale
        selected_landmarks -= pad_bias

        # Calculate ROI
        rois = []
        scale_x, scale_y, shift_y = 2.6, 2.6, -0.5  # ROI parameters
        for box in selected_box:
            cx, cy = (box[0] + box[2]) / 2, (box[1] + box[3]) / 2
            w, h = box[2] - box[0], box[3] - box[1]
            roi_w = w * scale_x
            roi_h = h * scale_y
            roi_cx = cx
            roi_cy = cy + shift_y * h
            rois.append([roi_cx - roi_w / 2, roi_cy - roi_h / 2, roi_cx + roi_w / 2, roi_cy + roi_h / 2])

        rois = np.array(rois)

        # Combine results: bbox, landmarks, scores
        results = np.c_[selected_box.reshape(-1, 4), selected_landmarks.reshape(-1, 14), selected_score.reshape(-1, 1)]
        return results, rois

    def _load_anchors(self):
        return np.array([[0.02083333, 0.02083333],
                         [0.02083333, 0.02083333],
                         [0.0625, 0.02083333],
                         [0.0625, 0.02083333],
                         [0.10416666, 0.02083333],
                         [0.10416666, 0.02083333],
                         [0.14583333, 0.02083333],
                         [0.14583333, 0.02083333],
                         [0.1875, 0.02083333],
                         [0.1875, 0.02083333],
                         [0.22916667, 0.02083333],
                         [0.22916667, 0.02083333],
                         [0.27083334, 0.02083333],
                         [0.27083334, 0.02083333],
                         [0.3125, 0.02083333],
                         [0.3125, 0.02083333],
                         [0.35416666, 0.02083333],
                         [0.35416666, 0.02083333],
                         [0.39583334, 0.02083333],
                         [0.39583334, 0.02083333],
                         [0.4375, 0.02083333],
                         [0.4375, 0.02083333],
                         [0.47916666, 0.02083333],
                         [0.47916666, 0.02083333],
                         [0.5208333, 0.02083333],
                         [0.5208333, 0.02083333],
                         [0.5625, 0.02083333],
                         [0.5625, 0.02083333],
                         [0.6041667, 0.02083333],
                         [0.6041667, 0.02083333],
                         [0.6458333, 0.02083333],
                         [0.6458333, 0.02083333],
                         [0.6875, 0.02083333],
                         [0.6875, 0.02083333],
                         [0.7291667, 0.02083333],
                         [0.7291667, 0.02083333],
                         [0.7708333, 0.02083333],
                         [0.7708333, 0.02083333],
                         [0.8125, 0.02083333],
                         [0.8125, 0.02083333],
                         [0.8541667, 0.02083333],
                         [0.8541667, 0.02083333],
                         [0.8958333, 0.02083333],
                         [0.8958333, 0.02083333],
                         [0.9375, 0.02083333],
                         [0.9375, 0.02083333],
                         [0.9791667, 0.02083333],
                         [0.9791667, 0.02083333],
                         [0.02083333, 0.0625],
                         [0.02083333, 0.0625],
                         [0.0625, 0.0625],
                         [0.0625, 0.0625],
                         [0.10416666, 0.0625],
                         [0.10416666, 0.0625],
                         [0.14583333, 0.0625],
                         [0.14583333, 0.0625],
                         [0.1875, 0.0625],
                         [0.1875, 0.0625],
                         [0.22916667, 0.0625],
                         [0.22916667, 0.0625],
                         [0.27083334, 0.0625],
                         [0.27083334, 0.0625],
                         [0.3125, 0.0625],
                         [0.3125, 0.0625],
                         [0.35416666, 0.0625],
                         [0.35416666, 0.0625],
                         [0.39583334, 0.0625],
                         [0.39583334, 0.0625],
                         [0.4375, 0.0625],
                         [0.4375, 0.0625],
                         [0.47916666, 0.0625],
                         [0.47916666, 0.0625],
                         [0.5208333, 0.0625],
                         [0.5208333, 0.0625],
                         [0.5625, 0.0625],
                         [0.5625, 0.0625],
                         [0.6041667, 0.0625],
                         [0.6041667, 0.0625],
                         [0.6458333, 0.0625],
                         [0.6458333, 0.0625],
                         [0.6875, 0.0625],
                         [0.6875, 0.0625],
                         [0.7291667, 0.0625],
                         [0.7291667, 0.0625],
                         [0.7708333, 0.0625],
                         [0.7708333, 0.0625],
                         [0.8125, 0.0625],
                         [0.8125, 0.0625],
                         [0.8541667, 0.0625],
                         [0.8541667, 0.0625],
                         [0.8958333, 0.0625],
                         [0.8958333, 0.0625],
                         [0.9375, 0.0625],
                         [0.9375, 0.0625],
                         [0.9791667, 0.0625],
                         [0.9791667, 0.0625],
                         [0.02083333, 0.10416666],
                         [0.02083333, 0.10416666],
                         [0.0625, 0.10416666],
                         [0.0625, 0.10416666],
                         [0.10416666, 0.10416666],
                         [0.10416666, 0.10416666],
                         [0.14583333, 0.10416666],
                         [0.14583333, 0.10416666],
                         [0.1875, 0.10416666],
                         [0.1875, 0.10416666],
                         [0.22916667, 0.10416666],
                         [0.22916667, 0.10416666],
                         [0.27083334, 0.10416666],
                         [0.27083334, 0.10416666],
                         [0.3125, 0.10416666],
                         [0.3125, 0.10416666],
                         [0.35416666, 0.10416666],
                         [0.35416666, 0.10416666],
                         [0.39583334, 0.10416666],
                         [0.39583334, 0.10416666],
                         [0.4375, 0.10416666],
                         [0.4375, 0.10416666],
                         [0.47916666, 0.10416666],
                         [0.47916666, 0.10416666],
                         [0.5208333, 0.10416666],
                         [0.5208333, 0.10416666],
                         [0.5625, 0.10416666],
                         [0.5625, 0.10416666],
                         [0.6041667, 0.10416666],
                         [0.6041667, 0.10416666],
                         [0.6458333, 0.10416666],
                         [0.6458333, 0.10416666],
                         [0.6875, 0.10416666],
                         [0.6875, 0.10416666],
                         [0.7291667, 0.10416666],
                         [0.7291667, 0.10416666],
                         [0.7708333, 0.10416666],
                         [0.7708333, 0.10416666],
                         [0.8125, 0.10416666],
                         [0.8125, 0.10416666],
                         [0.8541667, 0.10416666],
                         [0.8541667, 0.10416666],
                         [0.8958333, 0.10416666],
                         [0.8958333, 0.10416666],
                         [0.9375, 0.10416666],
                         [0.9375, 0.10416666],
                         [0.9791667, 0.10416666],
                         [0.9791667, 0.10416666],
                         [0.02083333, 0.14583333],
                         [0.02083333, 0.14583333],
                         [0.0625, 0.14583333],
                         [0.0625, 0.14583333],
                         [0.10416666, 0.14583333],
                         [0.10416666, 0.14583333],
                         [0.14583333, 0.14583333],
                         [0.14583333, 0.14583333],
                         [0.1875, 0.14583333],
                         [0.1875, 0.14583333],
                         [0.22916667, 0.14583333],
                         [0.22916667, 0.14583333],
                         [0.27083334, 0.14583333],
                         [0.27083334, 0.14583333],
                         [0.3125, 0.14583333],
                         [0.3125, 0.14583333],
                         [0.35416666, 0.14583333],
                         [0.35416666, 0.14583333],
                         [0.39583334, 0.14583333],
                         [0.39583334, 0.14583333],
                         [0.4375, 0.14583333],
                         [0.4375, 0.14583333],
                         [0.47916666, 0.14583333],
                         [0.47916666, 0.14583333],
                         [0.5208333, 0.14583333],
                         [0.5208333, 0.14583333],
                         [0.5625, 0.14583333],
                         [0.5625, 0.14583333],
                         [0.6041667, 0.14583333],
                         [0.6041667, 0.14583333],
                         [0.6458333, 0.14583333],
                         [0.6458333, 0.14583333],
                         [0.6875, 0.14583333],
                         [0.6875, 0.14583333],
                         [0.7291667, 0.14583333],
                         [0.7291667, 0.14583333],
                         [0.7708333, 0.14583333],
                         [0.7708333, 0.14583333],
                         [0.8125, 0.14583333],
                         [0.8125, 0.14583333],
                         [0.8541667, 0.14583333],
                         [0.8541667, 0.14583333],
                         [0.8958333, 0.14583333],
                         [0.8958333, 0.14583333],
                         [0.9375, 0.14583333],
                         [0.9375, 0.14583333],
                         [0.9791667, 0.14583333],
                         [0.9791667, 0.14583333],
                         [0.02083333, 0.1875],
                         [0.02083333, 0.1875],
                         [0.0625, 0.1875],
                         [0.0625, 0.1875],
                         [0.10416666, 0.1875],
                         [0.10416666, 0.1875],
                         [0.14583333, 0.1875],
                         [0.14583333, 0.1875],
                         [0.1875, 0.1875],
                         [0.1875, 0.1875],
                         [0.22916667, 0.1875],
                         [0.22916667, 0.1875],
                         [0.27083334, 0.1875],
                         [0.27083334, 0.1875],
                         [0.3125, 0.1875],
                         [0.3125, 0.1875],
                         [0.35416666, 0.1875],
                         [0.35416666, 0.1875],
                         [0.39583334, 0.1875],
                         [0.39583334, 0.1875],
                         [0.4375, 0.1875],
                         [0.4375, 0.1875],
                         [0.47916666, 0.1875],
                         [0.47916666, 0.1875],
                         [0.5208333, 0.1875],
                         [0.5208333, 0.1875],
                         [0.5625, 0.1875],
                         [0.5625, 0.1875],
                         [0.6041667, 0.1875],
                         [0.6041667, 0.1875],
                         [0.6458333, 0.1875],
                         [0.6458333, 0.1875],
                         [0.6875, 0.1875],
                         [0.6875, 0.1875],
                         [0.7291667, 0.1875],
                         [0.7291667, 0.1875],
                         [0.7708333, 0.1875],
                         [0.7708333, 0.1875],
                         [0.8125, 0.1875],
                         [0.8125, 0.1875],
                         [0.8541667, 0.1875],
                         [0.8541667, 0.1875],
                         [0.8958333, 0.1875],
                         [0.8958333, 0.1875],
                         [0.9375, 0.1875],
                         [0.9375, 0.1875],
                         [0.9791667, 0.1875],
                         [0.9791667, 0.1875],
                         [0.02083333, 0.22916667],
                         [0.02083333, 0.22916667],
                         [0.0625, 0.22916667],
                         [0.0625, 0.22916667],
                         [0.10416666, 0.22916667],
                         [0.10416666, 0.22916667],
                         [0.14583333, 0.22916667],
                         [0.14583333, 0.22916667],
                         [0.1875, 0.22916667],
                         [0.1875, 0.22916667],
                         [0.22916667, 0.22916667],
                         [0.22916667, 0.22916667],
                         [0.27083334, 0.22916667],
                         [0.27083334, 0.22916667],
                         [0.3125, 0.22916667],
                         [0.3125, 0.22916667],
                         [0.35416666, 0.22916667],
                         [0.35416666, 0.22916667],
                         [0.39583334, 0.22916667],
                         [0.39583334, 0.22916667],
                         [0.4375, 0.22916667],
                         [0.4375, 0.22916667],
                         [0.47916666, 0.22916667],
                         [0.47916666, 0.22916667],
                         [0.5208333, 0.22916667],
                         [0.5208333, 0.22916667],
                         [0.5625, 0.22916667],
                         [0.5625, 0.22916667],
                         [0.6041667, 0.22916667],
                         [0.6041667, 0.22916667],
                         [0.6458333, 0.22916667],
                         [0.6458333, 0.22916667],
                         [0.6875, 0.22916667],
                         [0.6875, 0.22916667],
                         [0.7291667, 0.22916667],
                         [0.7291667, 0.22916667],
                         [0.7708333, 0.22916667],
                         [0.7708333, 0.22916667],
                         [0.8125, 0.22916667],
                         [0.8125, 0.22916667],
                         [0.8541667, 0.22916667],
                         [0.8541667, 0.22916667],
                         [0.8958333, 0.22916667],
                         [0.8958333, 0.22916667],
                         [0.9375, 0.22916667],
                         [0.9375, 0.22916667],
                         [0.9791667, 0.22916667],
                         [0.9791667, 0.22916667],
                         [0.02083333, 0.27083334],
                         [0.02083333, 0.27083334],
                         [0.0625, 0.27083334],
                         [0.0625, 0.27083334],
                         [0.10416666, 0.27083334],
                         [0.10416666, 0.27083334],
                         [0.14583333, 0.27083334],
                         [0.14583333, 0.27083334],
                         [0.1875, 0.27083334],
                         [0.1875, 0.27083334],
                         [0.22916667, 0.27083334],
                         [0.22916667, 0.27083334],
                         [0.27083334, 0.27083334],
                         [0.27083334, 0.27083334],
                         [0.3125, 0.27083334],
                         [0.3125, 0.27083334],
                         [0.35416666, 0.27083334],
                         [0.35416666, 0.27083334],
                         [0.39583334, 0.27083334],
                         [0.39583334, 0.27083334],
                         [0.4375, 0.27083334],
                         [0.4375, 0.27083334],
                         [0.47916666, 0.27083334],
                         [0.47916666, 0.27083334],
                         [0.5208333, 0.27083334],
                         [0.5208333, 0.27083334],
                         [0.5625, 0.27083334],
                         [0.5625, 0.27083334],
                         [0.6041667, 0.27083334],
                         [0.6041667, 0.27083334],
                         [0.6458333, 0.27083334],
                         [0.6458333, 0.27083334],
                         [0.6875, 0.27083334],
                         [0.6875, 0.27083334],
                         [0.7291667, 0.27083334],
                         [0.7291667, 0.27083334],
                         [0.7708333, 0.27083334],
                         [0.7708333, 0.27083334],
                         [0.8125, 0.27083334],
                         [0.8125, 0.27083334],
                         [0.8541667, 0.27083334],
                         [0.8541667, 0.27083334],
                         [0.8958333, 0.27083334],
                         [0.8958333, 0.27083334],
                         [0.9375, 0.27083334],
                         [0.9375, 0.27083334],
                         [0.9791667, 0.27083334],
                         [0.9791667, 0.27083334],
                         [0.02083333, 0.3125],
                         [0.02083333, 0.3125],
                         [0.0625, 0.3125],
                         [0.0625, 0.3125],
                         [0.10416666, 0.3125],
                         [0.10416666, 0.3125],
                         [0.14583333, 0.3125],
                         [0.14583333, 0.3125],
                         [0.1875, 0.3125],
                         [0.1875, 0.3125],
                         [0.22916667, 0.3125],
                         [0.22916667, 0.3125],
                         [0.27083334, 0.3125],
                         [0.27083334, 0.3125],
                         [0.3125, 0.3125],
                         [0.3125, 0.3125],
                         [0.35416666, 0.3125],
                         [0.35416666, 0.3125],
                         [0.39583334, 0.3125],
                         [0.39583334, 0.3125],
                         [0.4375, 0.3125],
                         [0.4375, 0.3125],
                         [0.47916666, 0.3125],
                         [0.47916666, 0.3125],
                         [0.5208333, 0.3125],
                         [0.5208333, 0.3125],
                         [0.5625, 0.3125],
                         [0.5625, 0.3125],
                         [0.6041667, 0.3125],
                         [0.6041667, 0.3125],
                         [0.6458333, 0.3125],
                         [0.6458333, 0.3125],
                         [0.6875, 0.3125],
                         [0.6875, 0.3125],
                         [0.7291667, 0.3125],
                         [0.7291667, 0.3125],
                         [0.7708333, 0.3125],
                         [0.7708333, 0.3125],
                         [0.8125, 0.3125],
                         [0.8125, 0.3125],
                         [0.8541667, 0.3125],
                         [0.8541667, 0.3125],
                         [0.8958333, 0.3125],
                         [0.8958333, 0.3125],
                         [0.9375, 0.3125],
                         [0.9375, 0.3125],
                         [0.9791667, 0.3125],
                         [0.9791667, 0.3125],
                         [0.02083333, 0.35416666],
                         [0.02083333, 0.35416666],
                         [0.0625, 0.35416666],
                         [0.0625, 0.35416666],
                         [0.10416666, 0.35416666],
                         [0.10416666, 0.35416666],
                         [0.14583333, 0.35416666],
                         [0.14583333, 0.35416666],
                         [0.1875, 0.35416666],
                         [0.1875, 0.35416666],
                         [0.22916667, 0.35416666],
                         [0.22916667, 0.35416666],
                         [0.27083334, 0.35416666],
                         [0.27083334, 0.35416666],
                         [0.3125, 0.35416666],
                         [0.3125, 0.35416666],
                         [0.35416666, 0.35416666],
                         [0.35416666, 0.35416666],
                         [0.39583334, 0.35416666],
                         [0.39583334, 0.35416666],
                         [0.4375, 0.35416666],
                         [0.4375, 0.35416666],
                         [0.47916666, 0.35416666],
                         [0.47916666, 0.35416666],
                         [0.5208333, 0.35416666],
                         [0.5208333, 0.35416666],
                         [0.5625, 0.35416666],
                         [0.5625, 0.35416666],
                         [0.6041667, 0.35416666],
                         [0.6041667, 0.35416666],
                         [0.6458333, 0.35416666],
                         [0.6458333, 0.35416666],
                         [0.6875, 0.35416666],
                         [0.6875, 0.35416666],
                         [0.7291667, 0.35416666],
                         [0.7291667, 0.35416666],
                         [0.7708333, 0.35416666],
                         [0.7708333, 0.35416666],
                         [0.8125, 0.35416666],
                         [0.8125, 0.35416666],
                         [0.8541667, 0.35416666],
                         [0.8541667, 0.35416666],
                         [0.8958333, 0.35416666],
                         [0.8958333, 0.35416666],
                         [0.9375, 0.35416666],
                         [0.9375, 0.35416666],
                         [0.9791667, 0.35416666],
                         [0.9791667, 0.35416666],
                         [0.02083333, 0.39583334],
                         [0.02083333, 0.39583334],
                         [0.0625, 0.39583334],
                         [0.0625, 0.39583334],
                         [0.10416666, 0.39583334],
                         [0.10416666, 0.39583334],
                         [0.14583333, 0.39583334],
                         [0.14583333, 0.39583334],
                         [0.1875, 0.39583334],
                         [0.1875, 0.39583334],
                         [0.22916667, 0.39583334],
                         [0.22916667, 0.39583334],
                         [0.27083334, 0.39583334],
                         [0.27083334, 0.39583334],
                         [0.3125, 0.39583334],
                         [0.3125, 0.39583334],
                         [0.35416666, 0.39583334],
                         [0.35416666, 0.39583334],
                         [0.39583334, 0.39583334],
                         [0.39583334, 0.39583334],
                         [0.4375, 0.39583334],
                         [0.4375, 0.39583334],
                         [0.47916666, 0.39583334],
                         [0.47916666, 0.39583334],
                         [0.5208333, 0.39583334],
                         [0.5208333, 0.39583334],
                         [0.5625, 0.39583334],
                         [0.5625, 0.39583334],
                         [0.6041667, 0.39583334],
                         [0.6041667, 0.39583334],
                         [0.6458333, 0.39583334],
                         [0.6458333, 0.39583334],
                         [0.6875, 0.39583334],
                         [0.6875, 0.39583334],
                         [0.7291667, 0.39583334],
                         [0.7291667, 0.39583334],
                         [0.7708333, 0.39583334],
                         [0.7708333, 0.39583334],
                         [0.8125, 0.39583334],
                         [0.8125, 0.39583334],
                         [0.8541667, 0.39583334],
                         [0.8541667, 0.39583334],
                         [0.8958333, 0.39583334],
                         [0.8958333, 0.39583334],
                         [0.9375, 0.39583334],
                         [0.9375, 0.39583334],
                         [0.9791667, 0.39583334],
                         [0.9791667, 0.39583334],
                         [0.02083333, 0.4375],
                         [0.02083333, 0.4375],
                         [0.0625, 0.4375],
                         [0.0625, 0.4375],
                         [0.10416666, 0.4375],
                         [0.10416666, 0.4375],
                         [0.14583333, 0.4375],
                         [0.14583333, 0.4375],
                         [0.1875, 0.4375],
                         [0.1875, 0.4375],
                         [0.22916667, 0.4375],
                         [0.22916667, 0.4375],
                         [0.27083334, 0.4375],
                         [0.27083334, 0.4375],
                         [0.3125, 0.4375],
                         [0.3125, 0.4375],
                         [0.35416666, 0.4375],
                         [0.35416666, 0.4375],
                         [0.39583334, 0.4375],
                         [0.39583334, 0.4375],
                         [0.4375, 0.4375],
                         [0.4375, 0.4375],
                         [0.47916666, 0.4375],
                         [0.47916666, 0.4375],
                         [0.5208333, 0.4375],
                         [0.5208333, 0.4375],
                         [0.5625, 0.4375],
                         [0.5625, 0.4375],
                         [0.6041667, 0.4375],
                         [0.6041667, 0.4375],
                         [0.6458333, 0.4375],
                         [0.6458333, 0.4375],
                         [0.6875, 0.4375],
                         [0.6875, 0.4375],
                         [0.7291667, 0.4375],
                         [0.7291667, 0.4375],
                         [0.7708333, 0.4375],
                         [0.7708333, 0.4375],
                         [0.8125, 0.4375],
                         [0.8125, 0.4375],
                         [0.8541667, 0.4375],
                         [0.8541667, 0.4375],
                         [0.8958333, 0.4375],
                         [0.8958333, 0.4375],
                         [0.9375, 0.4375],
                         [0.9375, 0.4375],
                         [0.9791667, 0.4375],
                         [0.9791667, 0.4375],
                         [0.02083333, 0.47916666],
                         [0.02083333, 0.47916666],
                         [0.0625, 0.47916666],
                         [0.0625, 0.47916666],
                         [0.10416666, 0.47916666],
                         [0.10416666, 0.47916666],
                         [0.14583333, 0.47916666],
                         [0.14583333, 0.47916666],
                         [0.1875, 0.47916666],
                         [0.1875, 0.47916666],
                         [0.22916667, 0.47916666],
                         [0.22916667, 0.47916666],
                         [0.27083334, 0.47916666],
                         [0.27083334, 0.47916666],
                         [0.3125, 0.47916666],
                         [0.3125, 0.47916666],
                         [0.35416666, 0.47916666],
                         [0.35416666, 0.47916666],
                         [0.39583334, 0.47916666],
                         [0.39583334, 0.47916666],
                         [0.4375, 0.47916666],
                         [0.4375, 0.47916666],
                         [0.47916666, 0.47916666],
                         [0.47916666, 0.47916666],
                         [0.5208333, 0.47916666],
                         [0.5208333, 0.47916666],
                         [0.5625, 0.47916666],
                         [0.5625, 0.47916666],
                         [0.6041667, 0.47916666],
                         [0.6041667, 0.47916666],
                         [0.6458333, 0.47916666],
                         [0.6458333, 0.47916666],
                         [0.6875, 0.47916666],
                         [0.6875, 0.47916666],
                         [0.7291667, 0.47916666],
                         [0.7291667, 0.47916666],
                         [0.7708333, 0.47916666],
                         [0.7708333, 0.47916666],
                         [0.8125, 0.47916666],
                         [0.8125, 0.47916666],
                         [0.8541667, 0.47916666],
                         [0.8541667, 0.47916666],
                         [0.8958333, 0.47916666],
                         [0.8958333, 0.47916666],
                         [0.9375, 0.47916666],
                         [0.9375, 0.47916666],
                         [0.9791667, 0.47916666],
                         [0.9791667, 0.47916666],
                         [0.02083333, 0.5208333],
                         [0.02083333, 0.5208333],
                         [0.0625, 0.5208333],
                         [0.0625, 0.5208333],
                         [0.10416666, 0.5208333],
                         [0.10416666, 0.5208333],
                         [0.14583333, 0.5208333],
                         [0.14583333, 0.5208333],
                         [0.1875, 0.5208333],
                         [0.1875, 0.5208333],
                         [0.22916667, 0.5208333],
                         [0.22916667, 0.5208333],
                         [0.27083334, 0.5208333],
                         [0.27083334, 0.5208333],
                         [0.3125, 0.5208333],
                         [0.3125, 0.5208333],
                         [0.35416666, 0.5208333],
                         [0.35416666, 0.5208333],
                         [0.39583334, 0.5208333],
                         [0.39583334, 0.5208333],
                         [0.4375, 0.5208333],
                         [0.4375, 0.5208333],
                         [0.47916666, 0.5208333],
                         [0.47916666, 0.5208333],
                         [0.5208333, 0.5208333],
                         [0.5208333, 0.5208333],
                         [0.5625, 0.5208333],
                         [0.5625, 0.5208333],
                         [0.6041667, 0.5208333],
                         [0.6041667, 0.5208333],
                         [0.6458333, 0.5208333],
                         [0.6458333, 0.5208333],
                         [0.6875, 0.5208333],
                         [0.6875, 0.5208333],
                         [0.7291667, 0.5208333],
                         [0.7291667, 0.5208333],
                         [0.7708333, 0.5208333],
                         [0.7708333, 0.5208333],
                         [0.8125, 0.5208333],
                         [0.8125, 0.5208333],
                         [0.8541667, 0.5208333],
                         [0.8541667, 0.5208333],
                         [0.8958333, 0.5208333],
                         [0.8958333, 0.5208333],
                         [0.9375, 0.5208333],
                         [0.9375, 0.5208333],
                         [0.9791667, 0.5208333],
                         [0.9791667, 0.5208333],
                         [0.02083333, 0.5625],
                         [0.02083333, 0.5625],
                         [0.0625, 0.5625],
                         [0.0625, 0.5625],
                         [0.10416666, 0.5625],
                         [0.10416666, 0.5625],
                         [0.14583333, 0.5625],
                         [0.14583333, 0.5625],
                         [0.1875, 0.5625],
                         [0.1875, 0.5625],
                         [0.22916667, 0.5625],
                         [0.22916667, 0.5625],
                         [0.27083334, 0.5625],
                         [0.27083334, 0.5625],
                         [0.3125, 0.5625],
                         [0.3125, 0.5625],
                         [0.35416666, 0.5625],
                         [0.35416666, 0.5625],
                         [0.39583334, 0.5625],
                         [0.39583334, 0.5625],
                         [0.4375, 0.5625],
                         [0.4375, 0.5625],
                         [0.47916666, 0.5625],
                         [0.47916666, 0.5625],
                         [0.5208333, 0.5625],
                         [0.5208333, 0.5625],
                         [0.5625, 0.5625],
                         [0.5625, 0.5625],
                         [0.6041667, 0.5625],
                         [0.6041667, 0.5625],
                         [0.6458333, 0.5625],
                         [0.6458333, 0.5625],
                         [0.6875, 0.5625],
                         [0.6875, 0.5625],
                         [0.7291667, 0.5625],
                         [0.7291667, 0.5625],
                         [0.7708333, 0.5625],
                         [0.7708333, 0.5625],
                         [0.8125, 0.5625],
                         [0.8125, 0.5625],
                         [0.8541667, 0.5625],
                         [0.8541667, 0.5625],
                         [0.8958333, 0.5625],
                         [0.8958333, 0.5625],
                         [0.9375, 0.5625],
                         [0.9375, 0.5625],
                         [0.9791667, 0.5625],
                         [0.9791667, 0.5625],
                         [0.02083333, 0.6041667],
                         [0.02083333, 0.6041667],
                         [0.0625, 0.6041667],
                         [0.0625, 0.6041667],
                         [0.10416666, 0.6041667],
                         [0.10416666, 0.6041667],
                         [0.14583333, 0.6041667],
                         [0.14583333, 0.6041667],
                         [0.1875, 0.6041667],
                         [0.1875, 0.6041667],
                         [0.22916667, 0.6041667],
                         [0.22916667, 0.6041667],
                         [0.27083334, 0.6041667],
                         [0.27083334, 0.6041667],
                         [0.3125, 0.6041667],
                         [0.3125, 0.6041667],
                         [0.35416666, 0.6041667],
                         [0.35416666, 0.6041667],
                         [0.39583334, 0.6041667],
                         [0.39583334, 0.6041667],
                         [0.4375, 0.6041667],
                         [0.4375, 0.6041667],
                         [0.47916666, 0.6041667],
                         [0.47916666, 0.6041667],
                         [0.5208333, 0.6041667],
                         [0.5208333, 0.6041667],
                         [0.5625, 0.6041667],
                         [0.5625, 0.6041667],
                         [0.6041667, 0.6041667],
                         [0.6041667, 0.6041667],
                         [0.6458333, 0.6041667],
                         [0.6458333, 0.6041667],
                         [0.6875, 0.6041667],
                         [0.6875, 0.6041667],
                         [0.7291667, 0.6041667],
                         [0.7291667, 0.6041667],
                         [0.7708333, 0.6041667],
                         [0.7708333, 0.6041667],
                         [0.8125, 0.6041667],
                         [0.8125, 0.6041667],
                         [0.8541667, 0.6041667],
                         [0.8541667, 0.6041667],
                         [0.8958333, 0.6041667],
                         [0.8958333, 0.6041667],
                         [0.9375, 0.6041667],
                         [0.9375, 0.6041667],
                         [0.9791667, 0.6041667],
                         [0.9791667, 0.6041667],
                         [0.02083333, 0.6458333],
                         [0.02083333, 0.6458333],
                         [0.0625, 0.6458333],
                         [0.0625, 0.6458333],
                         [0.10416666, 0.6458333],
                         [0.10416666, 0.6458333],
                         [0.14583333, 0.6458333],
                         [0.14583333, 0.6458333],
                         [0.1875, 0.6458333],
                         [0.1875, 0.6458333],
                         [0.22916667, 0.6458333],
                         [0.22916667, 0.6458333],
                         [0.27083334, 0.6458333],
                         [0.27083334, 0.6458333],
                         [0.3125, 0.6458333],
                         [0.3125, 0.6458333],
                         [0.35416666, 0.6458333],
                         [0.35416666, 0.6458333],
                         [0.39583334, 0.6458333],
                         [0.39583334, 0.6458333],
                         [0.4375, 0.6458333],
                         [0.4375, 0.6458333],
                         [0.47916666, 0.6458333],
                         [0.47916666, 0.6458333],
                         [0.5208333, 0.6458333],
                         [0.5208333, 0.6458333],
                         [0.5625, 0.6458333],
                         [0.5625, 0.6458333],
                         [0.6041667, 0.6458333],
                         [0.6041667, 0.6458333],
                         [0.6458333, 0.6458333],
                         [0.6458333, 0.6458333],
                         [0.6875, 0.6458333],
                         [0.6875, 0.6458333],
                         [0.7291667, 0.6458333],
                         [0.7291667, 0.6458333],
                         [0.7708333, 0.6458333],
                         [0.7708333, 0.6458333],
                         [0.8125, 0.6458333],
                         [0.8125, 0.6458333],
                         [0.8541667, 0.6458333],
                         [0.8541667, 0.6458333],
                         [0.8958333, 0.6458333],
                         [0.8958333, 0.6458333],
                         [0.9375, 0.6458333],
                         [0.9375, 0.6458333],
                         [0.9791667, 0.6458333],
                         [0.9791667, 0.6458333],
                         [0.02083333, 0.6875],
                         [0.02083333, 0.6875],
                         [0.0625, 0.6875],
                         [0.0625, 0.6875],
                         [0.10416666, 0.6875],
                         [0.10416666, 0.6875],
                         [0.14583333, 0.6875],
                         [0.14583333, 0.6875],
                         [0.1875, 0.6875],
                         [0.1875, 0.6875],
                         [0.22916667, 0.6875],
                         [0.22916667, 0.6875],
                         [0.27083334, 0.6875],
                         [0.27083334, 0.6875],
                         [0.3125, 0.6875],
                         [0.3125, 0.6875],
                         [0.35416666, 0.6875],
                         [0.35416666, 0.6875],
                         [0.39583334, 0.6875],
                         [0.39583334, 0.6875],
                         [0.4375, 0.6875],
                         [0.4375, 0.6875],
                         [0.47916666, 0.6875],
                         [0.47916666, 0.6875],
                         [0.5208333, 0.6875],
                         [0.5208333, 0.6875],
                         [0.5625, 0.6875],
                         [0.5625, 0.6875],
                         [0.6041667, 0.6875],
                         [0.6041667, 0.6875],
                         [0.6458333, 0.6875],
                         [0.6458333, 0.6875],
                         [0.6875, 0.6875],
                         [0.6875, 0.6875],
                         [0.7291667, 0.6875],
                         [0.7291667, 0.6875],
                         [0.7708333, 0.6875],
                         [0.7708333, 0.6875],
                         [0.8125, 0.6875],
                         [0.8125, 0.6875],
                         [0.8541667, 0.6875],
                         [0.8541667, 0.6875],
                         [0.8958333, 0.6875],
                         [0.8958333, 0.6875],
                         [0.9375, 0.6875],
                         [0.9375, 0.6875],
                         [0.9791667, 0.6875],
                         [0.9791667, 0.6875],
                         [0.02083333, 0.7291667],
                         [0.02083333, 0.7291667],
                         [0.0625, 0.7291667],
                         [0.0625, 0.7291667],
                         [0.10416666, 0.7291667],
                         [0.10416666, 0.7291667],
                         [0.14583333, 0.7291667],
                         [0.14583333, 0.7291667],
                         [0.1875, 0.7291667],
                         [0.1875, 0.7291667],
                         [0.22916667, 0.7291667],
                         [0.22916667, 0.7291667],
                         [0.27083334, 0.7291667],
                         [0.27083334, 0.7291667],
                         [0.3125, 0.7291667],
                         [0.3125, 0.7291667],
                         [0.35416666, 0.7291667],
                         [0.35416666, 0.7291667],
                         [0.39583334, 0.7291667],
                         [0.39583334, 0.7291667],
                         [0.4375, 0.7291667],
                         [0.4375, 0.7291667],
                         [0.47916666, 0.7291667],
                         [0.47916666, 0.7291667],
                         [0.5208333, 0.7291667],
                         [0.5208333, 0.7291667],
                         [0.5625, 0.7291667],
                         [0.5625, 0.7291667],
                         [0.6041667, 0.7291667],
                         [0.6041667, 0.7291667],
                         [0.6458333, 0.7291667],
                         [0.6458333, 0.7291667],
                         [0.6875, 0.7291667],
                         [0.6875, 0.7291667],
                         [0.7291667, 0.7291667],
                         [0.7291667, 0.7291667],
                         [0.7708333, 0.7291667],
                         [0.7708333, 0.7291667],
                         [0.8125, 0.7291667],
                         [0.8125, 0.7291667],
                         [0.8541667, 0.7291667],
                         [0.8541667, 0.7291667],
                         [0.8958333, 0.7291667],
                         [0.8958333, 0.7291667],
                         [0.9375, 0.7291667],
                         [0.9375, 0.7291667],
                         [0.9791667, 0.7291667],
                         [0.9791667, 0.7291667],
                         [0.02083333, 0.7708333],
                         [0.02083333, 0.7708333],
                         [0.0625, 0.7708333],
                         [0.0625, 0.7708333],
                         [0.10416666, 0.7708333],
                         [0.10416666, 0.7708333],
                         [0.14583333, 0.7708333],
                         [0.14583333, 0.7708333],
                         [0.1875, 0.7708333],
                         [0.1875, 0.7708333],
                         [0.22916667, 0.7708333],
                         [0.22916667, 0.7708333],
                         [0.27083334, 0.7708333],
                         [0.27083334, 0.7708333],
                         [0.3125, 0.7708333],
                         [0.3125, 0.7708333],
                         [0.35416666, 0.7708333],
                         [0.35416666, 0.7708333],
                         [0.39583334, 0.7708333],
                         [0.39583334, 0.7708333],
                         [0.4375, 0.7708333],
                         [0.4375, 0.7708333],
                         [0.47916666, 0.7708333],
                         [0.47916666, 0.7708333],
                         [0.5208333, 0.7708333],
                         [0.5208333, 0.7708333],
                         [0.5625, 0.7708333],
                         [0.5625, 0.7708333],
                         [0.6041667, 0.7708333],
                         [0.6041667, 0.7708333],
                         [0.6458333, 0.7708333],
                         [0.6458333, 0.7708333],
                         [0.6875, 0.7708333],
                         [0.6875, 0.7708333],
                         [0.7291667, 0.7708333],
                         [0.7291667, 0.7708333],
                         [0.7708333, 0.7708333],
                         [0.7708333, 0.7708333],
                         [0.8125, 0.7708333],
                         [0.8125, 0.7708333],
                         [0.8541667, 0.7708333],
                         [0.8541667, 0.7708333],
                         [0.8958333, 0.7708333],
                         [0.8958333, 0.7708333],
                         [0.9375, 0.7708333],
                         [0.9375, 0.7708333],
                         [0.9791667, 0.7708333],
                         [0.9791667, 0.7708333],
                         [0.02083333, 0.8125],
                         [0.02083333, 0.8125],
                         [0.0625, 0.8125],
                         [0.0625, 0.8125],
                         [0.10416666, 0.8125],
                         [0.10416666, 0.8125],
                         [0.14583333, 0.8125],
                         [0.14583333, 0.8125],
                         [0.1875, 0.8125],
                         [0.1875, 0.8125],
                         [0.22916667, 0.8125],
                         [0.22916667, 0.8125],
                         [0.27083334, 0.8125],
                         [0.27083334, 0.8125],
                         [0.3125, 0.8125],
                         [0.3125, 0.8125],
                         [0.35416666, 0.8125],
                         [0.35416666, 0.8125],
                         [0.39583334, 0.8125],
                         [0.39583334, 0.8125],
                         [0.4375, 0.8125],
                         [0.4375, 0.8125],
                         [0.47916666, 0.8125],
                         [0.47916666, 0.8125],
                         [0.5208333, 0.8125],
                         [0.5208333, 0.8125],
                         [0.5625, 0.8125],
                         [0.5625, 0.8125],
                         [0.6041667, 0.8125],
                         [0.6041667, 0.8125],
                         [0.6458333, 0.8125],
                         [0.6458333, 0.8125],
                         [0.6875, 0.8125],
                         [0.6875, 0.8125],
                         [0.7291667, 0.8125],
                         [0.7291667, 0.8125],
                         [0.7708333, 0.8125],
                         [0.7708333, 0.8125],
                         [0.8125, 0.8125],
                         [0.8125, 0.8125],
                         [0.8541667, 0.8125],
                         [0.8541667, 0.8125],
                         [0.8958333, 0.8125],
                         [0.8958333, 0.8125],
                         [0.9375, 0.8125],
                         [0.9375, 0.8125],
                         [0.9791667, 0.8125],
                         [0.9791667, 0.8125],
                         [0.02083333, 0.8541667],
                         [0.02083333, 0.8541667],
                         [0.0625, 0.8541667],
                         [0.0625, 0.8541667],
                         [0.10416666, 0.8541667],
                         [0.10416666, 0.8541667],
                         [0.14583333, 0.8541667],
                         [0.14583333, 0.8541667],
                         [0.1875, 0.8541667],
                         [0.1875, 0.8541667],
                         [0.22916667, 0.8541667],
                         [0.22916667, 0.8541667],
                         [0.27083334, 0.8541667],
                         [0.27083334, 0.8541667],
                         [0.3125, 0.8541667],
                         [0.3125, 0.8541667],
                         [0.35416666, 0.8541667],
                         [0.35416666, 0.8541667],
                         [0.39583334, 0.8541667],
                         [0.39583334, 0.8541667],
                         [0.4375, 0.8541667],
                         [0.4375, 0.8541667],
                         [0.47916666, 0.8541667],
                         [0.47916666, 0.8541667],
                         [0.5208333, 0.8541667],
                         [0.5208333, 0.8541667],
                         [0.5625, 0.8541667],
                         [0.5625, 0.8541667],
                         [0.6041667, 0.8541667],
                         [0.6041667, 0.8541667],
                         [0.6458333, 0.8541667],
                         [0.6458333, 0.8541667],
                         [0.6875, 0.8541667],
                         [0.6875, 0.8541667],
                         [0.7291667, 0.8541667],
                         [0.7291667, 0.8541667],
                         [0.7708333, 0.8541667],
                         [0.7708333, 0.8541667],
                         [0.8125, 0.8541667],
                         [0.8125, 0.8541667],
                         [0.8541667, 0.8541667],
                         [0.8541667, 0.8541667],
                         [0.8958333, 0.8541667],
                         [0.8958333, 0.8541667],
                         [0.9375, 0.8541667],
                         [0.9375, 0.8541667],
                         [0.9791667, 0.8541667],
                         [0.9791667, 0.8541667],
                         [0.02083333, 0.8958333],
                         [0.02083333, 0.8958333],
                         [0.0625, 0.8958333],
                         [0.0625, 0.8958333],
                         [0.10416666, 0.8958333],
                         [0.10416666, 0.8958333],
                         [0.14583333, 0.8958333],
                         [0.14583333, 0.8958333],
                         [0.1875, 0.8958333],
                         [0.1875, 0.8958333],
                         [0.22916667, 0.8958333],
                         [0.22916667, 0.8958333],
                         [0.27083334, 0.8958333],
                         [0.27083334, 0.8958333],
                         [0.3125, 0.8958333],
                         [0.3125, 0.8958333],
                         [0.35416666, 0.8958333],
                         [0.35416666, 0.8958333],
                         [0.39583334, 0.8958333],
                         [0.39583334, 0.8958333],
                         [0.4375, 0.8958333],
                         [0.4375, 0.8958333],
                         [0.47916666, 0.8958333],
                         [0.47916666, 0.8958333],
                         [0.5208333, 0.8958333],
                         [0.5208333, 0.8958333],
                         [0.5625, 0.8958333],
                         [0.5625, 0.8958333],
                         [0.6041667, 0.8958333],
                         [0.6041667, 0.8958333],
                         [0.6458333, 0.8958333],
                         [0.6458333, 0.8958333],
                         [0.6875, 0.8958333],
                         [0.6875, 0.8958333],
                         [0.7291667, 0.8958333],
                         [0.7291667, 0.8958333],
                         [0.7708333, 0.8958333],
                         [0.7708333, 0.8958333],
                         [0.8125, 0.8958333],
                         [0.8125, 0.8958333],
                         [0.8541667, 0.8958333],
                         [0.8541667, 0.8958333],
                         [0.8958333, 0.8958333],
                         [0.8958333, 0.8958333],
                         [0.9375, 0.8958333],
                         [0.9375, 0.8958333],
                         [0.9791667, 0.8958333],
                         [0.9791667, 0.8958333],
                         [0.02083333, 0.9375],
                         [0.02083333, 0.9375],
                         [0.0625, 0.9375],
                         [0.0625, 0.9375],
                         [0.10416666, 0.9375],
                         [0.10416666, 0.9375],
                         [0.14583333, 0.9375],
                         [0.14583333, 0.9375],
                         [0.1875, 0.9375],
                         [0.1875, 0.9375],
                         [0.22916667, 0.9375],
                         [0.22916667, 0.9375],
                         [0.27083334, 0.9375],
                         [0.27083334, 0.9375],
                         [0.3125, 0.9375],
                         [0.3125, 0.9375],
                         [0.35416666, 0.9375],
                         [0.35416666, 0.9375],
                         [0.39583334, 0.9375],
                         [0.39583334, 0.9375],
                         [0.4375, 0.9375],
                         [0.4375, 0.9375],
                         [0.47916666, 0.9375],
                         [0.47916666, 0.9375],
                         [0.5208333, 0.9375],
                         [0.5208333, 0.9375],
                         [0.5625, 0.9375],
                         [0.5625, 0.9375],
                         [0.6041667, 0.9375],
                         [0.6041667, 0.9375],
                         [0.6458333, 0.9375],
                         [0.6458333, 0.9375],
                         [0.6875, 0.9375],
                         [0.6875, 0.9375],
                         [0.7291667, 0.9375],
                         [0.7291667, 0.9375],
                         [0.7708333, 0.9375],
                         [0.7708333, 0.9375],
                         [0.8125, 0.9375],
                         [0.8125, 0.9375],
                         [0.8541667, 0.9375],
                         [0.8541667, 0.9375],
                         [0.8958333, 0.9375],
                         [0.8958333, 0.9375],
                         [0.9375, 0.9375],
                         [0.9375, 0.9375],
                         [0.9791667, 0.9375],
                         [0.9791667, 0.9375],
                         [0.02083333, 0.9791667],
                         [0.02083333, 0.9791667],
                         [0.0625, 0.9791667],
                         [0.0625, 0.9791667],
                         [0.10416666, 0.9791667],
                         [0.10416666, 0.9791667],
                         [0.14583333, 0.9791667],
                         [0.14583333, 0.9791667],
                         [0.1875, 0.9791667],
                         [0.1875, 0.9791667],
                         [0.22916667, 0.9791667],
                         [0.22916667, 0.9791667],
                         [0.27083334, 0.9791667],
                         [0.27083334, 0.9791667],
                         [0.3125, 0.9791667],
                         [0.3125, 0.9791667],
                         [0.35416666, 0.9791667],
                         [0.35416666, 0.9791667],
                         [0.39583334, 0.9791667],
                         [0.39583334, 0.9791667],
                         [0.4375, 0.9791667],
                         [0.4375, 0.9791667],
                         [0.47916666, 0.9791667],
                         [0.47916666, 0.9791667],
                         [0.5208333, 0.9791667],
                         [0.5208333, 0.9791667],
                         [0.5625, 0.9791667],
                         [0.5625, 0.9791667],
                         [0.6041667, 0.9791667],
                         [0.6041667, 0.9791667],
                         [0.6458333, 0.9791667],
                         [0.6458333, 0.9791667],
                         [0.6875, 0.9791667],
                         [0.6875, 0.9791667],
                         [0.7291667, 0.9791667],
                         [0.7291667, 0.9791667],
                         [0.7708333, 0.9791667],
                         [0.7708333, 0.9791667],
                         [0.8125, 0.9791667],
                         [0.8125, 0.9791667],
                         [0.8541667, 0.9791667],
                         [0.8541667, 0.9791667],
                         [0.8958333, 0.9791667],
                         [0.8958333, 0.9791667],
                         [0.9375, 0.9791667],
                         [0.9375, 0.9791667],
                         [0.9791667, 0.9791667],
                         [0.9791667, 0.9791667],
                         [0.04166667, 0.04166667],
                         [0.04166667, 0.04166667],
                         [0.04166667, 0.04166667],
                         [0.04166667, 0.04166667],
                         [0.04166667, 0.04166667],
                         [0.04166667, 0.04166667],
                         [0.125, 0.04166667],
                         [0.125, 0.04166667],
                         [0.125, 0.04166667],
                         [0.125, 0.04166667],
                         [0.125, 0.04166667],
                         [0.125, 0.04166667],
                         [0.20833333, 0.04166667],
                         [0.20833333, 0.04166667],
                         [0.20833333, 0.04166667],
                         [0.20833333, 0.04166667],
                         [0.20833333, 0.04166667],
                         [0.20833333, 0.04166667],
                         [0.29166666, 0.04166667],
                         [0.29166666, 0.04166667],
                         [0.29166666, 0.04166667],
                         [0.29166666, 0.04166667],
                         [0.29166666, 0.04166667],
                         [0.29166666, 0.04166667],
                         [0.375, 0.04166667],
                         [0.375, 0.04166667],
                         [0.375, 0.04166667],
                         [0.375, 0.04166667],
                         [0.375, 0.04166667],
                         [0.375, 0.04166667],
                         [0.45833334, 0.04166667],
                         [0.45833334, 0.04166667],
                         [0.45833334, 0.04166667],
                         [0.45833334, 0.04166667],
                         [0.45833334, 0.04166667],
                         [0.45833334, 0.04166667],
                         [0.5416667, 0.04166667],
                         [0.5416667, 0.04166667],
                         [0.5416667, 0.04166667],
                         [0.5416667, 0.04166667],
                         [0.5416667, 0.04166667],
                         [0.5416667, 0.04166667],
                         [0.625, 0.04166667],
                         [0.625, 0.04166667],
                         [0.625, 0.04166667],
                         [0.625, 0.04166667],
                         [0.625, 0.04166667],
                         [0.625, 0.04166667],
                         [0.7083333, 0.04166667],
                         [0.7083333, 0.04166667],
                         [0.7083333, 0.04166667],
                         [0.7083333, 0.04166667],
                         [0.7083333, 0.04166667],
                         [0.7083333, 0.04166667],
                         [0.7916667, 0.04166667],
                         [0.7916667, 0.04166667],
                         [0.7916667, 0.04166667],
                         [0.7916667, 0.04166667],
                         [0.7916667, 0.04166667],
                         [0.7916667, 0.04166667],
                         [0.875, 0.04166667],
                         [0.875, 0.04166667],
                         [0.875, 0.04166667],
                         [0.875, 0.04166667],
                         [0.875, 0.04166667],
                         [0.875, 0.04166667],
                         [0.9583333, 0.04166667],
                         [0.9583333, 0.04166667],
                         [0.9583333, 0.04166667],
                         [0.9583333, 0.04166667],
                         [0.9583333, 0.04166667],
                         [0.9583333, 0.04166667],
                         [0.04166667, 0.125],
                         [0.04166667, 0.125],
                         [0.04166667, 0.125],
                         [0.04166667, 0.125],
                         [0.04166667, 0.125],
                         [0.04166667, 0.125],
                         [0.125, 0.125],
                         [0.125, 0.125],
                         [0.125, 0.125],
                         [0.125, 0.125],
                         [0.125, 0.125],
                         [0.125, 0.125],
                         [0.20833333, 0.125],
                         [0.20833333, 0.125],
                         [0.20833333, 0.125],
                         [0.20833333, 0.125],
                         [0.20833333, 0.125],
                         [0.20833333, 0.125],
                         [0.29166666, 0.125],
                         [0.29166666, 0.125],
                         [0.29166666, 0.125],
                         [0.29166666, 0.125],
                         [0.29166666, 0.125],
                         [0.29166666, 0.125],
                         [0.375, 0.125],
                         [0.375, 0.125],
                         [0.375, 0.125],
                         [0.375, 0.125],
                         [0.375, 0.125],
                         [0.375, 0.125],
                         [0.45833334, 0.125],
                         [0.45833334, 0.125],
                         [0.45833334, 0.125],
                         [0.45833334, 0.125],
                         [0.45833334, 0.125],
                         [0.45833334, 0.125],
                         [0.5416667, 0.125],
                         [0.5416667, 0.125],
                         [0.5416667, 0.125],
                         [0.5416667, 0.125],
                         [0.5416667, 0.125],
                         [0.5416667, 0.125],
                         [0.625, 0.125],
                         [0.625, 0.125],
                         [0.625, 0.125],
                         [0.625, 0.125],
                         [0.625, 0.125],
                         [0.625, 0.125],
                         [0.7083333, 0.125],
                         [0.7083333, 0.125],
                         [0.7083333, 0.125],
                         [0.7083333, 0.125],
                         [0.7083333, 0.125],
                         [0.7083333, 0.125],
                         [0.7916667, 0.125],
                         [0.7916667, 0.125],
                         [0.7916667, 0.125],
                         [0.7916667, 0.125],
                         [0.7916667, 0.125],
                         [0.7916667, 0.125],
                         [0.875, 0.125],
                         [0.875, 0.125],
                         [0.875, 0.125],
                         [0.875, 0.125],
                         [0.875, 0.125],
                         [0.875, 0.125],
                         [0.9583333, 0.125],
                         [0.9583333, 0.125],
                         [0.9583333, 0.125],
                         [0.9583333, 0.125],
                         [0.9583333, 0.125],
                         [0.9583333, 0.125],
                         [0.04166667, 0.20833333],
                         [0.04166667, 0.20833333],
                         [0.04166667, 0.20833333],
                         [0.04166667, 0.20833333],
                         [0.04166667, 0.20833333],
                         [0.04166667, 0.20833333],
                         [0.125, 0.20833333],
                         [0.125, 0.20833333],
                         [0.125, 0.20833333],
                         [0.125, 0.20833333],
                         [0.125, 0.20833333],
                         [0.125, 0.20833333],
                         [0.20833333, 0.20833333],
                         [0.20833333, 0.20833333],
                         [0.20833333, 0.20833333],
                         [0.20833333, 0.20833333],
                         [0.20833333, 0.20833333],
                         [0.20833333, 0.20833333],
                         [0.29166666, 0.20833333],
                         [0.29166666, 0.20833333],
                         [0.29166666, 0.20833333],
                         [0.29166666, 0.20833333],
                         [0.29166666, 0.20833333],
                         [0.29166666, 0.20833333],
                         [0.375, 0.20833333],
                         [0.375, 0.20833333],
                         [0.375, 0.20833333],
                         [0.375, 0.20833333],
                         [0.375, 0.20833333],
                         [0.375, 0.20833333],
                         [0.45833334, 0.20833333],
                         [0.45833334, 0.20833333],
                         [0.45833334, 0.20833333],
                         [0.45833334, 0.20833333],
                         [0.45833334, 0.20833333],
                         [0.45833334, 0.20833333],
                         [0.5416667, 0.20833333],
                         [0.5416667, 0.20833333],
                         [0.5416667, 0.20833333],
                         [0.5416667, 0.20833333],
                         [0.5416667, 0.20833333],
                         [0.5416667, 0.20833333],
                         [0.625, 0.20833333],
                         [0.625, 0.20833333],
                         [0.625, 0.20833333],
                         [0.625, 0.20833333],
                         [0.625, 0.20833333],
                         [0.625, 0.20833333],
                         [0.7083333, 0.20833333],
                         [0.7083333, 0.20833333],
                         [0.7083333, 0.20833333],
                         [0.7083333, 0.20833333],
                         [0.7083333, 0.20833333],
                         [0.7083333, 0.20833333],
                         [0.7916667, 0.20833333],
                         [0.7916667, 0.20833333],
                         [0.7916667, 0.20833333],
                         [0.7916667, 0.20833333],
                         [0.7916667, 0.20833333],
                         [0.7916667, 0.20833333],
                         [0.875, 0.20833333],
                         [0.875, 0.20833333],
                         [0.875, 0.20833333],
                         [0.875, 0.20833333],
                         [0.875, 0.20833333],
                         [0.875, 0.20833333],
                         [0.9583333, 0.20833333],
                         [0.9583333, 0.20833333],
                         [0.9583333, 0.20833333],
                         [0.9583333, 0.20833333],
                         [0.9583333, 0.20833333],
                         [0.9583333, 0.20833333],
                         [0.04166667, 0.29166666],
                         [0.04166667, 0.29166666],
                         [0.04166667, 0.29166666],
                         [0.04166667, 0.29166666],
                         [0.04166667, 0.29166666],
                         [0.04166667, 0.29166666],
                         [0.125, 0.29166666],
                         [0.125, 0.29166666],
                         [0.125, 0.29166666],
                         [0.125, 0.29166666],
                         [0.125, 0.29166666],
                         [0.125, 0.29166666],
                         [0.20833333, 0.29166666],
                         [0.20833333, 0.29166666],
                         [0.20833333, 0.29166666],
                         [0.20833333, 0.29166666],
                         [0.20833333, 0.29166666],
                         [0.20833333, 0.29166666],
                         [0.29166666, 0.29166666],
                         [0.29166666, 0.29166666],
                         [0.29166666, 0.29166666],
                         [0.29166666, 0.29166666],
                         [0.29166666, 0.29166666],
                         [0.29166666, 0.29166666],
                         [0.375, 0.29166666],
                         [0.375, 0.29166666],
                         [0.375, 0.29166666],
                         [0.375, 0.29166666],
                         [0.375, 0.29166666],
                         [0.375, 0.29166666],
                         [0.45833334, 0.29166666],
                         [0.45833334, 0.29166666],
                         [0.45833334, 0.29166666],
                         [0.45833334, 0.29166666],
                         [0.45833334, 0.29166666],
                         [0.45833334, 0.29166666],
                         [0.5416667, 0.29166666],
                         [0.5416667, 0.29166666],
                         [0.5416667, 0.29166666],
                         [0.5416667, 0.29166666],
                         [0.5416667, 0.29166666],
                         [0.5416667, 0.29166666],
                         [0.625, 0.29166666],
                         [0.625, 0.29166666],
                         [0.625, 0.29166666],
                         [0.625, 0.29166666],
                         [0.625, 0.29166666],
                         [0.625, 0.29166666],
                         [0.7083333, 0.29166666],
                         [0.7083333, 0.29166666],
                         [0.7083333, 0.29166666],
                         [0.7083333, 0.29166666],
                         [0.7083333, 0.29166666],
                         [0.7083333, 0.29166666],
                         [0.7916667, 0.29166666],
                         [0.7916667, 0.29166666],
                         [0.7916667, 0.29166666],
                         [0.7916667, 0.29166666],
                         [0.7916667, 0.29166666],
                         [0.7916667, 0.29166666],
                         [0.875, 0.29166666],
                         [0.875, 0.29166666],
                         [0.875, 0.29166666],
                         [0.875, 0.29166666],
                         [0.875, 0.29166666],
                         [0.875, 0.29166666],
                         [0.9583333, 0.29166666],
                         [0.9583333, 0.29166666],
                         [0.9583333, 0.29166666],
                         [0.9583333, 0.29166666],
                         [0.9583333, 0.29166666],
                         [0.9583333, 0.29166666],
                         [0.04166667, 0.375],
                         [0.04166667, 0.375],
                         [0.04166667, 0.375],
                         [0.04166667, 0.375],
                         [0.04166667, 0.375],
                         [0.04166667, 0.375],
                         [0.125, 0.375],
                         [0.125, 0.375],
                         [0.125, 0.375],
                         [0.125, 0.375],
                         [0.125, 0.375],
                         [0.125, 0.375],
                         [0.20833333, 0.375],
                         [0.20833333, 0.375],
                         [0.20833333, 0.375],
                         [0.20833333, 0.375],
                         [0.20833333, 0.375],
                         [0.20833333, 0.375],
                         [0.29166666, 0.375],
                         [0.29166666, 0.375],
                         [0.29166666, 0.375],
                         [0.29166666, 0.375],
                         [0.29166666, 0.375],
                         [0.29166666, 0.375],
                         [0.375, 0.375],
                         [0.375, 0.375],
                         [0.375, 0.375],
                         [0.375, 0.375],
                         [0.375, 0.375],
                         [0.375, 0.375],
                         [0.45833334, 0.375],
                         [0.45833334, 0.375],
                         [0.45833334, 0.375],
                         [0.45833334, 0.375],
                         [0.45833334, 0.375],
                         [0.45833334, 0.375],
                         [0.5416667, 0.375],
                         [0.5416667, 0.375],
                         [0.5416667, 0.375],
                         [0.5416667, 0.375],
                         [0.5416667, 0.375],
                         [0.5416667, 0.375],
                         [0.625, 0.375],
                         [0.625, 0.375],
                         [0.625, 0.375],
                         [0.625, 0.375],
                         [0.625, 0.375],
                         [0.625, 0.375],
                         [0.7083333, 0.375],
                         [0.7083333, 0.375],
                         [0.7083333, 0.375],
                         [0.7083333, 0.375],
                         [0.7083333, 0.375],
                         [0.7083333, 0.375],
                         [0.7916667, 0.375],
                         [0.7916667, 0.375],
                         [0.7916667, 0.375],
                         [0.7916667, 0.375],
                         [0.7916667, 0.375],
                         [0.7916667, 0.375],
                         [0.875, 0.375],
                         [0.875, 0.375],
                         [0.875, 0.375],
                         [0.875, 0.375],
                         [0.875, 0.375],
                         [0.875, 0.375],
                         [0.9583333, 0.375],
                         [0.9583333, 0.375],
                         [0.9583333, 0.375],
                         [0.9583333, 0.375],
                         [0.9583333, 0.375],
                         [0.9583333, 0.375],
                         [0.04166667, 0.45833334],
                         [0.04166667, 0.45833334],
                         [0.04166667, 0.45833334],
                         [0.04166667, 0.45833334],
                         [0.04166667, 0.45833334],
                         [0.04166667, 0.45833334],
                         [0.125, 0.45833334],
                         [0.125, 0.45833334],
                         [0.125, 0.45833334],
                         [0.125, 0.45833334],
                         [0.125, 0.45833334],
                         [0.125, 0.45833334],
                         [0.20833333, 0.45833334],
                         [0.20833333, 0.45833334],
                         [0.20833333, 0.45833334],
                         [0.20833333, 0.45833334],
                         [0.20833333, 0.45833334],
                         [0.20833333, 0.45833334],
                         [0.29166666, 0.45833334],
                         [0.29166666, 0.45833334],
                         [0.29166666, 0.45833334],
                         [0.29166666, 0.45833334],
                         [0.29166666, 0.45833334],
                         [0.29166666, 0.45833334],
                         [0.375, 0.45833334],
                         [0.375, 0.45833334],
                         [0.375, 0.45833334],
                         [0.375, 0.45833334],
                         [0.375, 0.45833334],
                         [0.375, 0.45833334],
                         [0.45833334, 0.45833334],
                         [0.45833334, 0.45833334],
                         [0.45833334, 0.45833334],
                         [0.45833334, 0.45833334],
                         [0.45833334, 0.45833334],
                         [0.45833334, 0.45833334],
                         [0.5416667, 0.45833334],
                         [0.5416667, 0.45833334],
                         [0.5416667, 0.45833334],
                         [0.5416667, 0.45833334],
                         [0.5416667, 0.45833334],
                         [0.5416667, 0.45833334],
                         [0.625, 0.45833334],
                         [0.625, 0.45833334],
                         [0.625, 0.45833334],
                         [0.625, 0.45833334],
                         [0.625, 0.45833334],
                         [0.625, 0.45833334],
                         [0.7083333, 0.45833334],
                         [0.7083333, 0.45833334],
                         [0.7083333, 0.45833334],
                         [0.7083333, 0.45833334],
                         [0.7083333, 0.45833334],
                         [0.7083333, 0.45833334],
                         [0.7916667, 0.45833334],
                         [0.7916667, 0.45833334],
                         [0.7916667, 0.45833334],
                         [0.7916667, 0.45833334],
                         [0.7916667, 0.45833334],
                         [0.7916667, 0.45833334],
                         [0.875, 0.45833334],
                         [0.875, 0.45833334],
                         [0.875, 0.45833334],
                         [0.875, 0.45833334],
                         [0.875, 0.45833334],
                         [0.875, 0.45833334],
                         [0.9583333, 0.45833334],
                         [0.9583333, 0.45833334],
                         [0.9583333, 0.45833334],
                         [0.9583333, 0.45833334],
                         [0.9583333, 0.45833334],
                         [0.9583333, 0.45833334],
                         [0.04166667, 0.5416667],
                         [0.04166667, 0.5416667],
                         [0.04166667, 0.5416667],
                         [0.04166667, 0.5416667],
                         [0.04166667, 0.5416667],
                         [0.04166667, 0.5416667],
                         [0.125, 0.5416667],
                         [0.125, 0.5416667],
                         [0.125, 0.5416667],
                         [0.125, 0.5416667],
                         [0.125, 0.5416667],
                         [0.125, 0.5416667],
                         [0.20833333, 0.5416667],
                         [0.20833333, 0.5416667],
                         [0.20833333, 0.5416667],
                         [0.20833333, 0.5416667],
                         [0.20833333, 0.5416667],
                         [0.20833333, 0.5416667],
                         [0.29166666, 0.5416667],
                         [0.29166666, 0.5416667],
                         [0.29166666, 0.5416667],
                         [0.29166666, 0.5416667],
                         [0.29166666, 0.5416667],
                         [0.29166666, 0.5416667],
                         [0.375, 0.5416667],
                         [0.375, 0.5416667],
                         [0.375, 0.5416667],
                         [0.375, 0.5416667],
                         [0.375, 0.5416667],
                         [0.375, 0.5416667],
                         [0.45833334, 0.5416667],
                         [0.45833334, 0.5416667],
                         [0.45833334, 0.5416667],
                         [0.45833334, 0.5416667],
                         [0.45833334, 0.5416667],
                         [0.45833334, 0.5416667],
                         [0.5416667, 0.5416667],
                         [0.5416667, 0.5416667],
                         [0.5416667, 0.5416667],
                         [0.5416667, 0.5416667],
                         [0.5416667, 0.5416667],
                         [0.5416667, 0.5416667],
                         [0.625, 0.5416667],
                         [0.625, 0.5416667],
                         [0.625, 0.5416667],
                         [0.625, 0.5416667],
                         [0.625, 0.5416667],
                         [0.625, 0.5416667],
                         [0.7083333, 0.5416667],
                         [0.7083333, 0.5416667],
                         [0.7083333, 0.5416667],
                         [0.7083333, 0.5416667],
                         [0.7083333, 0.5416667],
                         [0.7083333, 0.5416667],
                         [0.7916667, 0.5416667],
                         [0.7916667, 0.5416667],
                         [0.7916667, 0.5416667],
                         [0.7916667, 0.5416667],
                         [0.7916667, 0.5416667],
                         [0.7916667, 0.5416667],
                         [0.875, 0.5416667],
                         [0.875, 0.5416667],
                         [0.875, 0.5416667],
                         [0.875, 0.5416667],
                         [0.875, 0.5416667],
                         [0.875, 0.5416667],
                         [0.9583333, 0.5416667],
                         [0.9583333, 0.5416667],
                         [0.9583333, 0.5416667],
                         [0.9583333, 0.5416667],
                         [0.9583333, 0.5416667],
                         [0.9583333, 0.5416667],
                         [0.04166667, 0.625],
                         [0.04166667, 0.625],
                         [0.04166667, 0.625],
                         [0.04166667, 0.625],
                         [0.04166667, 0.625],
                         [0.04166667, 0.625],
                         [0.125, 0.625],
                         [0.125, 0.625],
                         [0.125, 0.625],
                         [0.125, 0.625],
                         [0.125, 0.625],
                         [0.125, 0.625],
                         [0.20833333, 0.625],
                         [0.20833333, 0.625],
                         [0.20833333, 0.625],
                         [0.20833333, 0.625],
                         [0.20833333, 0.625],
                         [0.20833333, 0.625],
                         [0.29166666, 0.625],
                         [0.29166666, 0.625],
                         [0.29166666, 0.625],
                         [0.29166666, 0.625],
                         [0.29166666, 0.625],
                         [0.29166666, 0.625],
                         [0.375, 0.625],
                         [0.375, 0.625],
                         [0.375, 0.625],
                         [0.375, 0.625],
                         [0.375, 0.625],
                         [0.375, 0.625],
                         [0.45833334, 0.625],
                         [0.45833334, 0.625],
                         [0.45833334, 0.625],
                         [0.45833334, 0.625],
                         [0.45833334, 0.625],
                         [0.45833334, 0.625],
                         [0.5416667, 0.625],
                         [0.5416667, 0.625],
                         [0.5416667, 0.625],
                         [0.5416667, 0.625],
                         [0.5416667, 0.625],
                         [0.5416667, 0.625],
                         [0.625, 0.625],
                         [0.625, 0.625],
                         [0.625, 0.625],
                         [0.625, 0.625],
                         [0.625, 0.625],
                         [0.625, 0.625],
                         [0.7083333, 0.625],
                         [0.7083333, 0.625],
                         [0.7083333, 0.625],
                         [0.7083333, 0.625],
                         [0.7083333, 0.625],
                         [0.7083333, 0.625],
                         [0.7916667, 0.625],
                         [0.7916667, 0.625],
                         [0.7916667, 0.625],
                         [0.7916667, 0.625],
                         [0.7916667, 0.625],
                         [0.7916667, 0.625],
                         [0.875, 0.625],
                         [0.875, 0.625],
                         [0.875, 0.625],
                         [0.875, 0.625],
                         [0.875, 0.625],
                         [0.875, 0.625],
                         [0.9583333, 0.625],
                         [0.9583333, 0.625],
                         [0.9583333, 0.625],
                         [0.9583333, 0.625],
                         [0.9583333, 0.625],
                         [0.9583333, 0.625],
                         [0.04166667, 0.7083333],
                         [0.04166667, 0.7083333],
                         [0.04166667, 0.7083333],
                         [0.04166667, 0.7083333],
                         [0.04166667, 0.7083333],
                         [0.04166667, 0.7083333],
                         [0.125, 0.7083333],
                         [0.125, 0.7083333],
                         [0.125, 0.7083333],
                         [0.125, 0.7083333],
                         [0.125, 0.7083333],
                         [0.125, 0.7083333],
                         [0.20833333, 0.7083333],
                         [0.20833333, 0.7083333],
                         [0.20833333, 0.7083333],
                         [0.20833333, 0.7083333],
                         [0.20833333, 0.7083333],
                         [0.20833333, 0.7083333],
                         [0.29166666, 0.7083333],
                         [0.29166666, 0.7083333],
                         [0.29166666, 0.7083333],
                         [0.29166666, 0.7083333],
                         [0.29166666, 0.7083333],
                         [0.29166666, 0.7083333],
                         [0.375, 0.7083333],
                         [0.375, 0.7083333],
                         [0.375, 0.7083333],
                         [0.375, 0.7083333],
                         [0.375, 0.7083333],
                         [0.375, 0.7083333],
                         [0.45833334, 0.7083333],
                         [0.45833334, 0.7083333],
                         [0.45833334, 0.7083333],
                         [0.45833334, 0.7083333],
                         [0.45833334, 0.7083333],
                         [0.45833334, 0.7083333],
                         [0.5416667, 0.7083333],
                         [0.5416667, 0.7083333],
                         [0.5416667, 0.7083333],
                         [0.5416667, 0.7083333],
                         [0.5416667, 0.7083333],
                         [0.5416667, 0.7083333],
                         [0.625, 0.7083333],
                         [0.625, 0.7083333],
                         [0.625, 0.7083333],
                         [0.625, 0.7083333],
                         [0.625, 0.7083333],
                         [0.625, 0.7083333],
                         [0.7083333, 0.7083333],
                         [0.7083333, 0.7083333],
                         [0.7083333, 0.7083333],
                         [0.7083333, 0.7083333],
                         [0.7083333, 0.7083333],
                         [0.7083333, 0.7083333],
                         [0.7916667, 0.7083333],
                         [0.7916667, 0.7083333],
                         [0.7916667, 0.7083333],
                         [0.7916667, 0.7083333],
                         [0.7916667, 0.7083333],
                         [0.7916667, 0.7083333],
                         [0.875, 0.7083333],
                         [0.875, 0.7083333],
                         [0.875, 0.7083333],
                         [0.875, 0.7083333],
                         [0.875, 0.7083333],
                         [0.875, 0.7083333],
                         [0.9583333, 0.7083333],
                         [0.9583333, 0.7083333],
                         [0.9583333, 0.7083333],
                         [0.9583333, 0.7083333],
                         [0.9583333, 0.7083333],
                         [0.9583333, 0.7083333],
                         [0.04166667, 0.7916667],
                         [0.04166667, 0.7916667],
                         [0.04166667, 0.7916667],
                         [0.04166667, 0.7916667],
                         [0.04166667, 0.7916667],
                         [0.04166667, 0.7916667],
                         [0.125, 0.7916667],
                         [0.125, 0.7916667],
                         [0.125, 0.7916667],
                         [0.125, 0.7916667],
                         [0.125, 0.7916667],
                         [0.125, 0.7916667],
                         [0.20833333, 0.7916667],
                         [0.20833333, 0.7916667],
                         [0.20833333, 0.7916667],
                         [0.20833333, 0.7916667],
                         [0.20833333, 0.7916667],
                         [0.20833333, 0.7916667],
                         [0.29166666, 0.7916667],
                         [0.29166666, 0.7916667],
                         [0.29166666, 0.7916667],
                         [0.29166666, 0.7916667],
                         [0.29166666, 0.7916667],
                         [0.29166666, 0.7916667],
                         [0.375, 0.7916667],
                         [0.375, 0.7916667],
                         [0.375, 0.7916667],
                         [0.375, 0.7916667],
                         [0.375, 0.7916667],
                         [0.375, 0.7916667],
                         [0.45833334, 0.7916667],
                         [0.45833334, 0.7916667],
                         [0.45833334, 0.7916667],
                         [0.45833334, 0.7916667],
                         [0.45833334, 0.7916667],
                         [0.45833334, 0.7916667],
                         [0.5416667, 0.7916667],
                         [0.5416667, 0.7916667],
                         [0.5416667, 0.7916667],
                         [0.5416667, 0.7916667],
                         [0.5416667, 0.7916667],
                         [0.5416667, 0.7916667],
                         [0.625, 0.7916667],
                         [0.625, 0.7916667],
                         [0.625, 0.7916667],
                         [0.625, 0.7916667],
                         [0.625, 0.7916667],
                         [0.625, 0.7916667],
                         [0.7083333, 0.7916667],
                         [0.7083333, 0.7916667],
                         [0.7083333, 0.7916667],
                         [0.7083333, 0.7916667],
                         [0.7083333, 0.7916667],
                         [0.7083333, 0.7916667],
                         [0.7916667, 0.7916667],
                         [0.7916667, 0.7916667],
                         [0.7916667, 0.7916667],
                         [0.7916667, 0.7916667],
                         [0.7916667, 0.7916667],
                         [0.7916667, 0.7916667],
                         [0.875, 0.7916667],
                         [0.875, 0.7916667],
                         [0.875, 0.7916667],
                         [0.875, 0.7916667],
                         [0.875, 0.7916667],
                         [0.875, 0.7916667],
                         [0.9583333, 0.7916667],
                         [0.9583333, 0.7916667],
                         [0.9583333, 0.7916667],
                         [0.9583333, 0.7916667],
                         [0.9583333, 0.7916667],
                         [0.9583333, 0.7916667],
                         [0.04166667, 0.875],
                         [0.04166667, 0.875],
                         [0.04166667, 0.875],
                         [0.04166667, 0.875],
                         [0.04166667, 0.875],
                         [0.04166667, 0.875],
                         [0.125, 0.875],
                         [0.125, 0.875],
                         [0.125, 0.875],
                         [0.125, 0.875],
                         [0.125, 0.875],
                         [0.125, 0.875],
                         [0.20833333, 0.875],
                         [0.20833333, 0.875],
                         [0.20833333, 0.875],
                         [0.20833333, 0.875],
                         [0.20833333, 0.875],
                         [0.20833333, 0.875],
                         [0.29166666, 0.875],
                         [0.29166666, 0.875],
                         [0.29166666, 0.875],
                         [0.29166666, 0.875],
                         [0.29166666, 0.875],
                         [0.29166666, 0.875],
                         [0.375, 0.875],
                         [0.375, 0.875],
                         [0.375, 0.875],
                         [0.375, 0.875],
                         [0.375, 0.875],
                         [0.375, 0.875],
                         [0.45833334, 0.875],
                         [0.45833334, 0.875],
                         [0.45833334, 0.875],
                         [0.45833334, 0.875],
                         [0.45833334, 0.875],
                         [0.45833334, 0.875],
                         [0.5416667, 0.875],
                         [0.5416667, 0.875],
                         [0.5416667, 0.875],
                         [0.5416667, 0.875],
                         [0.5416667, 0.875],
                         [0.5416667, 0.875],
                         [0.625, 0.875],
                         [0.625, 0.875],
                         [0.625, 0.875],
                         [0.625, 0.875],
                         [0.625, 0.875],
                         [0.625, 0.875],
                         [0.7083333, 0.875],
                         [0.7083333, 0.875],
                         [0.7083333, 0.875],
                         [0.7083333, 0.875],
                         [0.7083333, 0.875],
                         [0.7083333, 0.875],
                         [0.7916667, 0.875],
                         [0.7916667, 0.875],
                         [0.7916667, 0.875],
                         [0.7916667, 0.875],
                         [0.7916667, 0.875],
                         [0.7916667, 0.875],
                         [0.875, 0.875],
                         [0.875, 0.875],
                         [0.875, 0.875],
                         [0.875, 0.875],
                         [0.875, 0.875],
                         [0.875, 0.875],
                         [0.9583333, 0.875],
                         [0.9583333, 0.875],
                         [0.9583333, 0.875],
                         [0.9583333, 0.875],
                         [0.9583333, 0.875],
                         [0.9583333, 0.875],
                         [0.04166667, 0.9583333],
                         [0.04166667, 0.9583333],
                         [0.04166667, 0.9583333],
                         [0.04166667, 0.9583333],
                         [0.04166667, 0.9583333],
                         [0.04166667, 0.9583333],
                         [0.125, 0.9583333],
                         [0.125, 0.9583333],
                         [0.125, 0.9583333],
                         [0.125, 0.9583333],
                         [0.125, 0.9583333],
                         [0.125, 0.9583333],
                         [0.20833333, 0.9583333],
                         [0.20833333, 0.9583333],
                         [0.20833333, 0.9583333],
                         [0.20833333, 0.9583333],
                         [0.20833333, 0.9583333],
                         [0.20833333, 0.9583333],
                         [0.29166666, 0.9583333],
                         [0.29166666, 0.9583333],
                         [0.29166666, 0.9583333],
                         [0.29166666, 0.9583333],
                         [0.29166666, 0.9583333],
                         [0.29166666, 0.9583333],
                         [0.375, 0.9583333],
                         [0.375, 0.9583333],
                         [0.375, 0.9583333],
                         [0.375, 0.9583333],
                         [0.375, 0.9583333],
                         [0.375, 0.9583333],
                         [0.45833334, 0.9583333],
                         [0.45833334, 0.9583333],
                         [0.45833334, 0.9583333],
                         [0.45833334, 0.9583333],
                         [0.45833334, 0.9583333],
                         [0.45833334, 0.9583333],
                         [0.5416667, 0.9583333],
                         [0.5416667, 0.9583333],
                         [0.5416667, 0.9583333],
                         [0.5416667, 0.9583333],
                         [0.5416667, 0.9583333],
                         [0.5416667, 0.9583333],
                         [0.625, 0.9583333],
                         [0.625, 0.9583333],
                         [0.625, 0.9583333],
                         [0.625, 0.9583333],
                         [0.625, 0.9583333],
                         [0.625, 0.9583333],
                         [0.7083333, 0.9583333],
                         [0.7083333, 0.9583333],
                         [0.7083333, 0.9583333],
                         [0.7083333, 0.9583333],
                         [0.7083333, 0.9583333],
                         [0.7083333, 0.9583333],
                         [0.7916667, 0.9583333],
                         [0.7916667, 0.9583333],
                         [0.7916667, 0.9583333],
                         [0.7916667, 0.9583333],
                         [0.7916667, 0.9583333],
                         [0.7916667, 0.9583333],
                         [0.875, 0.9583333],
                         [0.875, 0.9583333],
                         [0.875, 0.9583333],
                         [0.875, 0.9583333],
                         [0.875, 0.9583333],
                         [0.875, 0.9583333],
                         [0.9583333, 0.9583333],
                         [0.9583333, 0.9583333],
                         [0.9583333, 0.9583333],
                         [0.9583333, 0.9583333],
                         [0.9583333, 0.9583333],
                         [0.9583333, 0.9583333]], dtype=np.float32)


if __name__ == "__main__":
    model = MPPalmDet(model_path="models/palm_detection_full.tflite")
    print(model.anchors.shape)
